泰勒级数是把一个函数展开来显示的无穷级数,像这些:
近似值
你可以用泰勒级数的头几项来估计函数的近似值。
这里是越来越准确的 cos(x) 近似值。红线是 cos(x),蓝线是近似值(自己画图来看看):
1 − x2/2! |
1 − x2/2! + x4/4! |
1 − x2/2! + x4/4! − x6/6! |
1 − x2/2! + x4/4! − x6/6! + x8/8! |
(你可以在 复数的欧拉公式 看到更多泰勒级数的用法。)
背后的理念是什么?
为什么可以把一个函数变成幂的级数?
你想得到这个:
f(x) = c0 + c1(x-a) + c2(x-a)2 + c3(x-a)3 + ……
选一个 "a" 的值来求这些: c0、c1、c2、等等……
这是用导数算出来的……
简短回顾:导数告诉我们函数在任何一点的坡度。
你需要知道函数 f(x) 的导数和这些 导数基本规律:
- 常数 的导数是 0
- x 的导数是 1
- xn 的导数是 nxn-1 (例子:x3 的导数是 3x2)
我们用这个符号 ’ 来代表 "的导数"。
好,开始:
求 c0:以 x=a,所有 (x-a) ,剩下的是:
f(a) = c0 的项都等于零
所以 c0 = f(a)
求 c1:取f(x) 的导数:
f’(x) = c1 + 2c2(x-a) + 3c3(x-a)2 + ……
设 x=a,所有 (x-a) 的项都是零:
f’(a) = c1
所以 c1 = f’(a)
求 c2:再取导数:
f’’(x) = 2c2 + 3×2×c3(x-a) + ……
设 x=a,所有 (x-a) 的项都等于零:
f’’(a) = 2c2
所以 c2 = f’’(a)/2
看到规律了吗?每项是
- 高一个阶的导数……
- ……除以在这项以下所有的指数的积(我们可以用 阶乘记号 来写,例如 3! = 3×2×1)
结果是:
这便是求泰勒级数每一项的规律:取导数,除以 n!。
例子:cos(x) 的泰勒级数
我们只需要知道:
- cos(x) 的导数是 -sin(x)
- sin(x) 的导数是 cos(x)
以 a=0:
- c0 = f(0) = cos(0) = 1
- c1 = f'(0)/1! = -sin(0) = 0
- c2 = f''(0)/2! = -cos(0)/2! = -1/2!
- c3 = f'''(0)/3! = sin(0)/3! = 0
- c4 = f''''(0)/4! = cos(0)/4! = 1/4!
- 等等……
所有奇项都是零,所以:
cos(x) = 1 − x2/2! + x4/4! −……
你自己用 sin(x) 来试试!
你也可以用其他的函数,重点是你需要知道函数 f(x) 的导数是什么。
注意:麦克劳林级数 是 a=0 的泰勒级数。我们上面的例子都是 麦克劳林级数。
更新:20210423 104212